﻿package mortal.game.view.ThanksGiving.data
{
    import Message.Game.*;
    import Message.Public.*;
    import com.gengine.utils.*;
    import com.mui.controls.*;
    import extend.language.*;
    import mortal.game.cache.*;
    import mortal.game.manager.*;
    import mortal.game.resource.info.item.*;
    import mortal.game.view.activeTime.*;
    import mortal.game.view.combinedServer.data.*;
    import mortal.game.view.common.*;
    import mortal.game.view.copy.GroupTowerCopy.data.*;
    import mortal.game.view.copy.QuestionCopy.data.*;

    public class ThanksGivingUtil extends Object
    {
        public static var testF:Boolean = true;
        private static var len:int = 5;
        public static var loginGiftCode:int = 120502053;
        private static var startDt:Date = new Date("2015/11/24 00:00:00");
        public static var consumGroupId:int = 30000;
        public static var bossGiftCode:int = 120502054;
        public static var bossMesh:String = "tzfb_dys";
        public static var bossBone:String = "tzfb_dys";
        public static var bossTextur:String = "tzfb_dys.abc";
        public static var shopGiftCode:int = 120502058;
        public static var redBagHourArr:Array = [11, 16, 21];
        public static var tanBaoGiftCodeArr1:Array = [180080202, 180080203, 180080204];
        public static var tanBaoGiftCodeArr2:Array = [180080212, 180080213, 180080214];
        public static var huoyuGiftCode:int = 180141200;
        public static var wingGiftCode:int = 250040010;
        public static var mountGiftCode:int = 170040003;
        public static var middleGiftCode:int = 120502059;

        public function ThanksGivingUtil()
        {
            return;
        }// end function

        public static function getStarDt() : Date
        {
            var _loc_1:* = ActiveTimeUtil.getSClientActive(EActiveType._EActiveTypeThanksGiving);
            if (_loc_1 != null)
            {
                startDt = new Date(_loc_1.startDt.time);
            }
            return startDt;
        }// end function

        public static function getEndDt() : Date
        {
            var _loc_1:* = getStarDt();
            var _loc_2:* = new Date(_loc_1.time + len * 24 * 3600 * 1000);
            return _loc_2;
        }// end function

        public static function getOpenTimeStrArr(param1:Boolean = true, param2:Boolean = true) : Array
        {
            var _loc_7:Date = null;
            var _loc_3:Array = [];
            var _loc_4:* = getStarDt();
            var _loc_5:* = getEndDt();
            if (param2)
            {
                _loc_7 = new Date(_loc_5.time - 1000);
                _loc_5 = _loc_7;
            }
            var _loc_6:int = 0;
            var _loc_8:* = _loc_6 + 1;
            _loc_3[_loc_8] = _loc_4.fullYear;
            var _loc_9:* = _loc_6 + 1;
            _loc_3[_loc_9] = _loc_4.month + 1;
            var _loc_10:* = _loc_6 + 1;
            _loc_3[_loc_10] = _loc_4.date;
            if (param1)
            {
                var _loc_11:* = _loc_6 + 1;
                _loc_3[_loc_11] = fullTimeStr(_loc_4.hours) + ":" + fullTimeStr(_loc_4.minutes) + ":" + fullTimeStr(_loc_4.seconds);
            }
            var _loc_11:* = _loc_6 + 1;
            _loc_3[_loc_11] = _loc_5.fullYear;
            var _loc_12:* = _loc_6 + 1;
            _loc_3[_loc_12] = _loc_5.month + 1;
            var _loc_13:* = _loc_6 + 1;
            _loc_3[_loc_13] = _loc_5.date;
            if (param1)
            {
                var _loc_14:* = _loc_6 + 1;
                _loc_3[_loc_14] = fullTimeStr(_loc_5.hours) + ":" + fullTimeStr(_loc_5.minutes) + ":" + fullTimeStr(_loc_5.seconds);
            }
            return _loc_3;
        }// end function

        private static function fullTimeStr(param1:int) : String
        {
            if (param1 < 9)
            {
                return "0" + param1;
            }
            return "" + param1;
        }// end function

        public static function canShowIcon() : Boolean
        {
            var _loc_1:* = getStarDt();
            var _loc_2:* = getEndDt();
            var _loc_3:* = ClockManager.instance.nowDate;
            if (_loc_3.time >= _loc_1.time && _loc_3.time < _loc_2.time)
            {
                return true;
            }
            return false;
        }// end function

        public static function getOpenTimeStr(param1:int = 71379, param2:Boolean = true) : String
        {
            var _loc_3:* = getOpenTimeStrArr(param2, true);
            var _loc_4:* = LanguageConfig.instance.getString(param1);
            return StringHelper.substitute(_loc_4, _loc_3);
        }// end function

        public static function getLeftTimeArr() : Array
        {
            var _loc_5:int = 0;
            var _loc_6:int = 0;
            var _loc_7:int = 0;
            var _loc_1:* = ClockManager.instance.nowDate;
            var _loc_2:* = getStarDt();
            var _loc_3:* = (_loc_1.time - _loc_2.time) / 1000;
            var _loc_4:Array = [0, 0, 0];
            if (_loc_3 > 0)
            {
                _loc_5 = _loc_3 / (24 * 3600);
                _loc_6 = _loc_3 / 3600 % 24;
                _loc_7 = _loc_3 / 60 % 60;
                _loc_4 = [_loc_5, _loc_6, _loc_7];
            }
            return _loc_4;
        }// end function

        public static function getDayCountDownTime() : Array
        {
            var _loc_1:* = ClockManager.instance.nowDate;
            var _loc_2:* = getEndDt();
            var _loc_3:* = (_loc_2.time - _loc_1.time) / 1000;
            _loc_3 = _loc_3 < 0 ? (0) : (_loc_3);
            var _loc_4:* = int(_loc_3 / (24 * 3600));
            var _loc_5:* = int(_loc_3 / 3600) % 24;
            var _loc_6:* = int(_loc_3 / 60) % 60;
            var _loc_7:* = _loc_3 % 60;
            var _loc_8:* = "" + _loc_4;
            var _loc_9:* = (_loc_5 > 9 ? ("") : ("0")) + _loc_5;
            var _loc_10:* = (_loc_6 > 9 ? ("") : ("0")) + _loc_6;
            var _loc_11:Array = [_loc_8, _loc_9, _loc_10, _loc_7, "", _loc_3];
            return _loc_11;
        }// end function

        public static function getRwIndex() : int
        {
            var _loc_5:Object = null;
            var _loc_6:int = 0;
            var _loc_7:int = 0;
            if (canShowIcon() == false)
            {
                return -1;
            }
            var _loc_1:* = Cache.instance.thanksGiving.consumInfo;
            if (_loc_1 == null)
            {
                return -1;
            }
            var _loc_2:* = Cache.instance.thanksGiving.getConsumNum();
            var _loc_3:* = CombinedSerConfig.instance().getArrByGroup(consumGroupId);
            var _loc_4:int = 0;
            while (_loc_4 < _loc_3.length)
            {
                
                _loc_5 = _loc_3[_loc_4];
                _loc_6 = _loc_5.money;
                _loc_7 = _loc_1.rewardInfo[_loc_6];
                if (_loc_2 >= _loc_6)
                {
                    if (_loc_7 == 0)
                    {
                        return _loc_4;
                    }
                }
                _loc_4++;
            }
            return -1;
        }// end function

        public static function getCompDateByIndex(param1:int) : Date
        {
            var _loc_2:* = ClockManager.instance.nowDate;
            var _loc_3:* = new Date(_loc_2.time);
            _loc_3.hours = int(redBagHourArr[param1]);
            _loc_3.minutes = 0;
            _loc_3.seconds = 0;
            _loc_3.milliseconds = 0;
            return _loc_3;
        }// end function

        public static function updateRwListByGiftInGiftCode(param1:int, param2:CellsGridSprite, param3:int = -1, param4:int = -1000, param5:int = 300, param6:int = 10) : Array
        {
            var _loc_12:SPlayerItem = null;
            var _loc_15:int = 0;
            var _loc_16:GSprite = null;
            var _loc_7:* = new ItemData(param1);
            var _loc_8:* = _loc_7.itemInfo as ItemGiftBagInfo;
            var _loc_9:* = _loc_8.itemList1;
            var _loc_10:* = QuestionCopyConfig.instance().getRewardItems(_loc_9);
            var _loc_11:Array = [];
            var _loc_13:int = 0;
            while (_loc_13 < _loc_10.length)
            {
                
                _loc_12 = _loc_10[_loc_13];
                _loc_11 = _loc_11.concat(RewardCfgUtil.getSplayItemArrByCode(_loc_12.itemCode));
                _loc_13++;
            }
            var _loc_14:* = _loc_11;
            if (param3 > 0 && _loc_14.length > param3)
            {
                _loc_14.length = param3;
            }
            if (param2)
            {
                param2.genCells(_loc_14.length);
                _loc_15 = 0;
                while (_loc_15 < _loc_14.length)
                {
                    
                    _loc_16 = param2.cellArr[_loc_15];
                    _loc_12 = _loc_14[_loc_15];
                    if (_loc_16)
                    {
                        var _loc_17:* = _loc_16;
                        _loc_17._loc_16["updateInfo"](_loc_12);
                    }
                    _loc_15++;
                }
                if (param4 != -1000)
                {
                    param2.x = param4 + (param5 - _loc_14.length * param2.vCellWid + param6) / 2;
                }
            }
            return _loc_14;
        }// end function

    }
}
